home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / diffs / gdb-4.12 / gdb / getinit.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-05  |  1.6 KB  |  73 lines

  1. *** orig/gdb-4.12/gdb/getinit.c    Tue Jul 26 00:14:22 1994
  2. --- src/gdb-4.12/gdb/getinit.c    Tue Jul 26 00:52:02 1994
  3. ***************
  4. *** 0 ****
  5. --- 1,67 ----
  6. + #include <stdio.h>
  7. + char *skips[] = {
  8. +   "Onindy.c",
  9. +   "nindy.c",
  10. +   "ttyflush.c",
  11. +   "xdr_ld.c",
  12. +   "xdr_ptrace.c",
  13. +   "xdr_rdb.c",
  14. +   "udr.c",
  15. +   "udip2soc.c",
  16. +   "udi2go32.c",
  17. +   "version.c",
  18. +   "c-exp.tab.c",
  19. +   "c-exp-tab.c",
  20. +   "m2-exp.tab.c",
  21. +   "m2-exp-tab.c",
  22. +   "ch-exp.tab.c",
  23. +   "ch-exp-tab.c",
  24. +   0
  25. + };
  26. + main(int argc, char **argv)
  27. + {
  28. +   FILE *init = fopen("init.c", "w");
  29. +   int i, j;
  30. +   FILE *f;
  31. +   fprintf(init, "/* Do not modify this file.  It is created by getinit */\n");
  32. +   fprintf(init, "void initialize_all_files() {\n");
  33. +   for (i=1; i<argc; i++)
  34. +   {
  35. +     int skip=0;
  36. +     char *suf = argv[i]+strlen(argv[i])-2;
  37. +     if (strcmp(suf, ".o"))
  38. +       continue;
  39. +     suf[1] = 'c';
  40. +     for (j=0; skips[j]; j++)
  41. +       if (strcmp(argv[i], skips[j]) == 0)
  42. +       {
  43. +     skip = 1;
  44. +     break;
  45. +       }
  46. +     if (skip)
  47. +       continue;
  48. +     f = fopen(argv[i], "r");
  49. +     if (f)
  50. +     {
  51. +       char buf[1000];
  52. +       while (fgets(buf, 1000, f))
  53. +       {
  54. +         if (strncmp(buf, "_initialize", 11) == 0)
  55. +         {
  56. +           char *e;
  57. +           for (e=buf; *e && *e!=' ' && *e!='('; e++)
  58. +             ;
  59. +           *e = 0;
  60. +           fprintf(init, " { extern void %s (); %s();}\n", buf, buf);
  61. +         }
  62. +       }
  63. +       fclose(f);
  64. +     }
  65. +   }
  66. +   fprintf(init, "}\n");
  67. +   fclose(init);
  68. +   return 0;
  69. + }
  70.